Extend Model
To extend Model class with type support we must provide Model's constuctor types.
import { Model, Schema } from "dynamoql";
// This is a very simple example
class MyExtendedModel<A extends string, B, C> extends Model<A, B, C> {
constructor(tableName: A, schema: Schema<B>, options: any) {
super(tableName, schema, options);
}
async scanAll() {
let ExclusiveStartKey;
const Items = [];
do {
const res = await this.scan({}, { ExclusiveStartKey });
ExclusiveStartKey = res.LastEvaluatedKey;
Items.push(...res.Items);
} while (ExclusiveStartKey);
return Items;
}
}